1. Technical Field of the Invention
The invention relates generally to the field of remote operation of computer systems. More specifically, the invention relates to a method for remotely operating a computer system by means of a wireless optical device.
2. Description of Related Art
The use of computer systems greatly enhances and simplifies public presentations of information. Text can be generated and manipulated within computer files to yield an attractive presentation without the potential waste generated by mistakes in slides or overhead transparencies. Conventionally, a desktop or laptop computer is connected with a projector, such as an LCD projector, which projects the output display of the computer onto a larger screen or surface for viewing by an audience. The computer can be instructed to switch among screens of information during the course of the presentation via various devices that instruct the computer to switch among screens.
As the amount of information that a single speaker may present has increased, the need has arisen for devices that can be used to execute a range of commands within the computer that goes beyond switching screens. Prior devices that allowed a user to switch between screens did not allow for more robust operation of a computer system, such as the remote manipulation of the internal cursor or mouse pointer projected from the computer onto the projection surface. Additionally, commands requiring the use of keystrokes or mouse commands, such as clicking combinations used to open files and manipulate command menus, were outside the functions of remote wireless devices. Thus, the speaker was forced either to use wired devices, which limited movement throughout the speaking area; or to return to the computer to execute commands via a keyboard or mouse; or to instruct a second person to operate the computer system. All of these options limited the speaker""s ability to deliver an uninterrupted presentation while interacting well with an audience.
Several devices have attempted to overcome these problems, by using conventional remote control technology. Early technologies allowed a user to depress buttons on a remote control device, and commands were issued by the device to a receiver, via RF or IR signal transmission. The receiver processed and relayed the signals to the computer, and corresponding commands were executed. These systems were limited by the speaker""s direction and distance relative to the signal receiver, as well as the common interference problems associated with RF and IR technologies. Additionally, the speaker could only direct an audience""s attention to a specific point on the screen with great difficulty. A track ball, touch pad, or joystick on the remote control device had to be manipulated by the user in order to reposition a pointer or cursor. This was a slow and cumbersome task that often interrupted the flow of the user""s presentation. Though conventional remote technologies were later combined with an optical pointer to designate objects on a projected image, there was no guiding of a cursor about the projected image. Hence, there was no correspondence between the position of the optical point and the commands issued by the remote device.
Recent systems have attempted to address these concerns. U.S. Pat. No. 5,502,459 to Marshall, et al., describes an early system, in which a wand with a light on its tip is used to guide a cursor around a projected image and to issue commands by blinking the light. A computer output display is projected onto a screen by an overhead projector. The image is captured by a charge coupled device (CCD), which feeds the signals it receives from the projected image and wand to a signal processor. The signal processor converts the signals into data that relate to coordinates of the projected image. This data is used to position a cursor about the computer""s output display, and hence about the projected image. Blinks in the light source on the wand are used to execute mouse commands, by detecting brief interruptions in the presence of the light source in the signals captured by the CCD. The patented invention is useful, but it still limits the range of movement available to a speaker by the length of the wand. The patent does not teach the additional functionalities necessary for a conventional handheld laser pointer to accomplish the same functions. Additionally, such systems have made a limited market impact, due to the great cost of charge coupled devices, their associated capture cards, and external signal processors. The great cost of this extra hardware is rarely justified for simple remote operation systems, due to the limited utility of the hardware for other purposes that the common speaker is likely to require.
Early efforts at remote operation systems were displaced by the use of less expensive cameras that did not require communication with external signal processors. U.S. Pat. No. 6,275,214 to Hansen describes such a system, using a conventional video camera to capture the output image generated by a computer and projected by an LCD projector. A speaker uses an optical pointer to emit a point onto the projected image. This point is received by the video camera, and its position is translated into a new position for a cursor on the projected image. However, executing commands still requires that the optical point either blink or alter its properties. The patent discloses the alteration of the shape of the optical point, the color of the beam, the number of beams present, or other properties that are used in combination with position to constitute a command at the position of the optical point.
The Hansen system introduces remote operation via an optical pointer that can be used at a significant distance from the projected image. Nonetheless, challenges still exist. One category of challenges addresses the optical pointer itself. First, a conventional optical pointer cannot be used, because properties of the optical point or beam must change to execute mouse commands. This necessitates additional cost for specialized optical pointers. Additionally, users suffer from the same difficulties as systems in which blinking of the optical point is used to generate commands to the computer. Blinking (or changing beam properties) is performed by depressing and releasing a button. This causes the tip of the optical pointerxe2x80x94hence, the point it projects on the projected imagexe2x80x94to move from the position at which a command must be executed. Thus, a learning curve is necessary to effectively use the systems, and the curve varies among users. Though some tolerance can be built into a system to account for negligible movements in the optical point, many users find commands difficult to execute.
Additionally, previous systems have been limited by the calibration processes performed before operation. Simple calibration processes have been used in the past, in order to minimize set-up time. They produce simple means for translating between points on a captured image and points on an output display or projected image, minimizing the delay between movement of an optical point and movement of the computer""s mouse pointer or cursor on the projected image. However, these processes are limited in the accuracy of their translations. Simple quadratic methods, such as those used by Hansen and Marshall only preserve parallel lines between the projected and captured images. Thus, the use of distracting fiducials on the projected image is required to account for even slight amounts of skew or differences in scale between the projected image and captured image.
There are many other common imperfections that the translation and calibration processes of the prior art do not account for. First, images are often non-rectangular, whether at projection or capturing. Images captured by a digital camera are often quadrilateral, but camera placement relative to a projected image often prevents them from being perfectly rectangular. Thus, there may be few or no parallel lines that can be used to orient the translation processes. This problem becomes more acute, when the projection surface is not perfectly flat, or the camera lens produces an imperfect image, such that the borders of the projected image are bowed or arced known as non-linear pin cushioning). In prior art systems, keystone correction must be used for both the projector and the camera, in conjunction with the calibration and translation processes, to account for imperfect shape. More problematic imperfections have not been accounted for by previous calibration and translation processes, without the use of multiple projectors or projector lenses, as described in U.S. Pat. No. 6,222,593.
Additionally, previous calibration and translation processes limit geometric set-up of system components. For instance, the camera device must sometimes be set up at significant angles relative to the projected image. The camera cannot be aligned at significant angles in previous systems, because the captured image will again be imperfect in shape. Even in a perfectly rectangular image, the nearer side of the projected image can appear longer in the captured image than the far side. Additionally, the top and bottom edges may no longer appear parallel. In other instances, the camera may be disposed on an uneven surface, or the lens of the camera may produce an image, such that the captured is significantly rotated compared with the projected image. Prior art calibration and translation processes do not account for these problems.
Hence, there has been a great need in the art for a method of remotely operating a computer system that overcomes the challenge of cost, by utilizing conventional components; while addressing the challenge of movement in an optical point on the projected image, when executing commands via a wireless optical device; and accounting for the challenge of imperfections in positional accuracy, shape, orientation, rotation, arcing, and angle relative to the projected and captured images, without using multiple iterations of a single system component, without significantly lengthening set-up time or run time operation, and without requiring keystone or alternative correction means in individual system components.
The current invention provides a novel method of remotely operating a computer system via a wireless optical device. The current invention addresses the foregoing challenges and provides further advantages, by providing a method that may be implemented in a low-cost system, consisting of conventional components. The method also executes computer commands via the wireless optical device, without the complications involved with blinking or otherwise altering the properties of the point of the optical device. The method also provides increased accuracy in translating between points on the projected and captured images, while accounting for positional accuracy, angular differences, skew, elongation, rotation, arcing and other imperfect shaping, and differences between projected and captured images, without significantly lengthening set-up or run time, without using multiple iterations of a single system component, and without requiring keystone correction in individual system components.
The current invention relates to a method for remote operation of a computer having a cursor, via a wireless optical device. The method comprises projecting an image onto a projection surface via a projecting means. The projected image is a projection of the output display of the computer and shows the cursor as part of the projected image. The cursor may be a mouse pointer, typically represented on a computer display as a hand or arrow, or any other suitable cursor representation. The method also comprises generating an optical point at a desired cursor position on the projected image via the wireless optical device. The projected image and the optical point collectively form an image that is captured by an image sensing device and transmitted to the computer. The position of the cursor on the output display of the computerxe2x80x94hence, on the projected imagexe2x80x94is then moved to within a predefined distance of the position of the optical point. The method also comprises calculating a dwell time, which is a time period during which the optical point is positioned within a predefined distance of any single point on the projected image. When the dwell time exceeds a predefined length of time, at least one computer command is executed by the computer. The predefined length of time may be selected by a user.
The computer commands that may be executed using the invented method may comprise any of a single left-mouse-click, double left-mouse-click, right-mouse-click, a mouse command, or a keyboard command.
The invented method may also comprise performing a calibration process after the step of projecting an image and before generating the optical point at a desired cursor position on the projected image. The calibration process comprises generating the optical point via the wireless optical device, within a predefined distance about each of at least four single points on the projected image. The optical point is maintained about each point for a predefined calibration time. The calibration process also comprises capturing a captured image via the image sensing device during each calibration period. The captured image comprises the projected image and optical point. During each calibration period, the optical point is detected at a calibration position. Each calibration position comprises a coordinate of the captured image.
The calibration process also comprises calculating a plurality of control positions equal in number to the plurality of calibration positions. Each control position comprises a coordinate of the output display of the computer, and hence the projected image. Each control position and each calibration position are submitted to a matrix creation means. The step of calculating control positions may be performed before, after, or simultaneously with the steps preceding their submission to the matrix creation means. At least one matrix is calculated via the matrix creation means, each matrix being capable of solving for at least eight degrees of freedom.
The matrices are used throughout the operation of the system to translate between points on the captured image and the output display or projected image, such that precise cursor manipulation about the projected image may take place by moving the optical point that is generated by the wireless optical device.
This calibration process is more robust than those used in the prior art and is thus able to account for many more imperfections in the projected or captured images than the prior art, without the need for keystone correction or multiple projectors or lenses. Moreover, once the initial matrices are calculated, the additional time needed to apply them during run time operation of the overall system is negligible, compared with the simpler processes used in the prior art. The calibration process also allows the image sensing device to be positioned at significant angles relative to the projected image, whether in the horizontal or vertical planes, or a combination of both, while still correcting the captured image. The optical points in the captured image are translated by the matrix or matrices formed by the calibration process, to accurately portray a cursor""s position in the projected image.
Aspects of the invented method may be embodied in computer software programs, or functions thereof. Hence the current invention is also directed to computer readable storage media having stored data representing functions executable by a computer to execute commands and position a cursor of the computer, based on a dwell time of an optical point generated onto a projected image by a wireless optical device. The various functions may include performing a calibration process comprising calculating at least four control positions and detecting an optical point at a calibration position during each of at least four calibration periods; submitting each control position and each calibration position to a matrix creation means; and generating via the matrix creation means at least one matrix, each matrix able to solve for at least eight degrees of freedom. The functions also include measuring a dwell time and executing a computer command when the dwell time exceeds a predefined length of time.